home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / tools / ebsx130 / i_ebsx.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-31  |  12.0 KB  |  492 lines

  1. /*
  2.  *  postSx.x  iconify
  3.  *
  4.  *  Author : D.N  kit.iizuka
  5.  *  Created: 1993 12/15(Wed)
  6.  */
  7.  
  8. #include <method/Dialog_i.h>
  9. #include <method/Memory_i.h>
  10. #include <method/_methodSx.h>
  11.  
  12. /* QueryError用 */
  13. #define rectQE Rect(10, 30, 240, 160)
  14. int EventForQE( order_t );
  15.  
  16. /* アイコンの絵 */
  17. /* active */
  18. unsigned short imgAct[] ={ 
  19.                     0,0,40,43,
  20.                     0x0400,0x0000,0x0000,
  21.                     0x1600,0x0000,0x0100,
  22.                     0xfe00,0x0000,0x0100,
  23.                     0x367f,0xffff,0xf900,
  24.                     0x7e00,0x0000,0x0100,
  25.                     0x3600,0x0000,0x0100,
  26.                     0x7e00,0x0000,0x0100,
  27.                     0x3600,0x0400,0x2100,
  28.                     0x7e33,0xe467,0x9100,
  29.                     0x3e02,0x1204,0x4900,
  30.                     0x1e02,0x0e04,0x0900,
  31.                     0x3602,0x1004,0x0900,
  32.                     0xfe02,0x1004,0x1900,
  33.                     0x3600,0x1000,0x3100,
  34.                     0x7e03,0x9007,0x9100,
  35.                     0x3e02,0x1004,0x4900,
  36.                     0x1e02,0x7004,0x0900,
  37.                     0x3602,0x0204,0x0900,
  38.                     0xfe02,0x0604,0x1900,
  39.                     0x3600,0x0400,0x3100,
  40.                     0x7e3f,0xfc7f,0xe100,
  41.                     0x3600,0x0000,0x0100,
  42.                     0x7e00,0x0000,0x0100,
  43.                     0x3600,0x0000,0x0100,
  44.                     0x7e7f,0xffff,0xf900,
  45.                     0x3600,0x0000,0x0100,
  46.                     0x7e00,0x0000,0x0100,
  47.                     0x3600,0x0000,0x0100,
  48.                     0x7e00,0x0000,0x0100,
  49.                     0x3600,0x0000,0x0100,
  50.                     0x7e00,0x0000,0x0100,
  51.                     0x3600,0x0000,0x0100,
  52.                     0x7e00,0x0000,0x0100,
  53.                     0x3600,0x0000,0x0100,
  54.                     0x4fff,0xffff,0xff00,
  55.                     0x3fff,0xffff,0xfc00,
  56.                     0xaaaa,0xaaaa,0xa900,
  57.                     0xf555,0x5555,0x5900,
  58.                     0xeaaa,0xaaaa,0xa900,
  59.                     0xf555,0x5555,0x5900,
  60.                     0xaaaa,0xaaaa,0xa900,
  61.                     0x3f55,0x5555,0x5500,
  62.                     0x0dff,0xffff,0xff00,
  63.  
  64.                     0x0000,0x0000,0x0100,
  65.                     0x0dff,0xffff,0xff00,
  66.                     0x05ff,0xffff,0xff00,
  67.                     0x0d80,0x0000,0x0700,
  68.                     0x05ff,0xffff,0xff00,
  69.                     0x0dff,0xffff,0xff00,
  70.                     0x05ff,0xffff,0xff00,
  71.                     0x0dc0,0x0780,0x3f00,
  72.                     0x05f3,0xe7e7,0x9f00,
  73.                     0x1df3,0xf3e7,0xcf00,
  74.                     0x65f3,0xffe7,0xcf00,
  75.                     0x8df3,0x9fe7,0xcf00,
  76.                     0x05f3,0x9fe7,0x9f00,
  77.                     0x0df0,0x1fe0,0x3f00,
  78.                     0x05f3,0x9fe7,0x9f00,
  79.                     0x1df3,0x9fe7,0xcf00,
  80.                     0x65f3,0xffe7,0xcf00,
  81.                     0x8df3,0xf3e7,0xcf00,
  82.                     0x05f3,0xe7e7,0x9f00,
  83.                     0x0dc0,0x0780,0x3f00,
  84.                     0x05ff,0xffff,0xff00,
  85.                     0x0dff,0xffff,0xff00,
  86.                     0x05ff,0xffff,0xff00,
  87.                     0x0dff,0xffff,0xff00,
  88.                     0x0580,0x0000,0x0700,
  89.                     0x0dff,0xffff,0xff00,
  90.                     0x05ff,0xffff,0xff00,
  91.                     0x0dff,0xffff,0xff00,
  92.                     0x05ff,0xffff,0xff00,
  93.                     0x0dff,0xffff,0xff00,
  94.                     0x05ff,0xffff,0xff00,
  95.                     0x0dff,0xffff,0xff00,
  96.                     0x05ff,0xffff,0xff00,
  97.                     0x0dff,0xffff,0xff00,
  98.                     0x3dff,0xffff,0xff00,
  99.                     0x7fff,0xffff,0xff00,
  100.                     0x7fff,0xffff,0xff00,
  101.                     0x7fff,0xffff,0xff00,
  102.                     0x7fff,0xffff,0xff00,
  103.                     0x7fff,0xffff,0xff00,
  104.                     0x7fff,0xffff,0xff00,
  105.                     0x7fff,0xffff,0xff00,
  106.                     0x3fff,0xffff,0xff00,
  107.  
  108.                     0x0000,0x0000,0x0000,
  109.                     0x0000,0x0000,0x0000,
  110.                     0x0000,0x0000,0x0000,
  111.                     0x0000,0x0000,0x0000,
  112.                     0x0000,0x0000,0x0000,
  113.                     0x0000,0x0000,0x0000,
  114.                     0x0000,0x0000,0x0000,
  115.                     0x0000,0x0000,0x0000,
  116.                     0x0000,0x0000,0x0000,
  117.                     0x0000,0x0000,0x0000,
  118.                     0x0000,0x0000,0x0000,
  119.                     0x0000,0x0000,0x0000,
  120.                     0x0000,0x0000,0x0000,
  121.                     0x0000,0x0000,0x0000,
  122.                     0x0000,0x0000,0x0000,
  123.                     0x0000,0x0000,0x0000,
  124.                     0x0000,0x0000,0x0000,
  125.                     0x0000,0x0000,0x0000,
  126.                     0x0000,0x0000,0x0000,
  127.                     0x0000,0x0000,0x0000,
  128.                     0x0000,0x0000,0x0000,
  129.                     0x0000,0x0000,0x0000,
  130.                     0x0000,0x0000,0x0000,
  131.                     0x0000,0x0000,0x0000,
  132.                     0x0000,0x0000,0x0000,
  133.                     0x0000,0x0000,0x0000,
  134.                     0x0000,0x0000,0x0000,
  135.                     0x0000,0x0000,0x0000,
  136.                     0x0000,0x0000,0x0000,
  137.                     0x0000,0x0000,0x0000,
  138.                     0x0000,0x0000,0x0000,
  139.                     0x0000,0x0000,0x0000,
  140.                     0x0000,0x0000,0x0000,
  141.                     0x0000,0x0000,0x0000,
  142.                     0x0000,0x0000,0x0000,
  143.                     0x0000,0x0000,0x0000,
  144.                     0x0000,0x0000,0x0000,
  145.                     0x0000,0x0000,0x0000,
  146.                     0x0000,0x0000,0x0000,
  147.                     0x0000,0x0000,0x0000,
  148.                     0x0000,0x0000,0x0000,
  149.                     0x0000,0x0000,0x0000,
  150.                     0x0000,0x0000,0x0000,
  151.  
  152.                     0x1fff,0xffff,0xffff,
  153.                     0x7fff,0xffff,0xffff,
  154.                     0xffff,0xffff,0xffff,
  155.                     0xffff,0xffff,0xffff,
  156.                     0xffff,0xffff,0xffff,
  157.                     0xffff,0xffff,0xffff,
  158.                     0xffff,0xffff,0xffff,
  159.                     0xffff,0xffff,0xffff,
  160.                     0xffff,0xffff,0xffff,
  161.                     0xffff,0xffff,0xffff,
  162.                     0xffff,0xffff,0xffff,
  163.                     0xffff,0xffff,0xffff,
  164.                     0xffff,0xffff,0xffff,
  165.                     0xffff,0xffff,0xffff,
  166.                     0xffff,0xffff,0xffff,
  167.                     0xffff,0xffff,0xffff,
  168.                     0xffff,0xffff,0xffff,
  169.                     0xffff,0xffff,0xffff,
  170.                     0xffff,0xffff,0xffff,
  171.                     0xffff,0xffff,0xffff,
  172.                     0xffff,0xffff,0xffff,
  173.                     0xffff,0xffff,0xffff,
  174.                     0xffff,0xffff,0xffff,
  175.                     0xffff,0xffff,0xffff,
  176.                     0xffff,0xffff,0xffff,
  177.                     0xffff,0xffff,0xffff,
  178.                     0xffff,0xffff,0xffff,
  179.                     0xffff,0xffff,0xffff,
  180.                     0xffff,0xffff,0xffff,
  181.                     0xffff,0xffff,0xffff,
  182.                     0xffff,0xffff,0xffff,
  183.                     0xffff,0xffff,0xffff,
  184.                     0xffff,0xffff,0xffff,
  185.                     0xffff,0xffff,0xffff,
  186.                     0xffff,0xffff,0xffff,
  187.                     0xffff,0xffff,0xffff,
  188.                     0xffff,0xffff,0xffff,
  189.                     0xffff,0xffff,0xffff,
  190.                     0xffff,0xffff,0xffff,
  191.                     0xffff,0xffff,0xffff,
  192.                     0xffff,0xffff,0xffff,
  193.                     0x7fff,0xffff,0xffff,
  194.                     0x3fff,0xffff,0xffff,
  195.  
  196. };
  197.  
  198. /* inactive */
  199. unsigned short imgInact[] ={
  200.                     0,0,40,43,
  201.                     0x1fff,0xffff,0xfe00,
  202.                     0x7600,0x0000,0x0100,
  203.                     0xfe00,0x0000,0x0100,
  204.                     0xf67f,0xffff,0xf900,
  205.                     0xfe00,0x0000,0x0100,
  206.                     0xf600,0x0000,0x0100,
  207.                     0xfe00,0x0000,0x0100,
  208.                     0xf63f,0xfc7f,0xe100,
  209.                     0xfe3f,0xfc7f,0xf100,
  210.                     0xfe0e,0x1e1c,0x7900,
  211.                     0x9e0e,0x0e1c,0x3900,
  212.                     0x760e,0x701c,0x3900,
  213.                     0xfe0e,0x701c,0x7900,
  214.                     0xf60f,0xf01f,0xf100,
  215.                     0xfe0f,0xf01f,0xf100,
  216.                     0xfe0e,0x701c,0x7900,
  217.                     0x9e0e,0x701c,0x3900,
  218.                     0x760e,0x0e1c,0x3900,
  219.                     0xfe0e,0x1e1c,0x7900,
  220.                     0xf63f,0xfc7f,0xf100,
  221.                     0xfe3f,0xfc7f,0xe100,
  222.                     0xf600,0x0000,0x0100,
  223.                     0xfe00,0x0000,0x0100,
  224.                     0xf600,0x0000,0x0100,
  225.                     0xfe7f,0xffff,0xf900,
  226.                     0xf600,0x0000,0x0100,
  227.                     0xfe00,0x0000,0x0100,
  228.                     0xf600,0x0000,0x0100,
  229.                     0xfe00,0x0000,0x0100,
  230.                     0xf600,0x0000,0x0100,
  231.                     0xfe00,0x0000,0x0100,
  232.                     0xf600,0x0000,0x0100,
  233.                     0xfe00,0x0000,0x0100,
  234.                     0xf600,0x0000,0x0100,
  235.                     0xcfff,0xffff,0xff00,
  236.                     0xbfff,0xffff,0xfc00,
  237.                     0xaaaa,0xaaaa,0xa900,
  238.                     0xf555,0x5555,0x5900,
  239.                     0xeaaa,0xaaaa,0xa900,
  240.                     0xf555,0x5555,0x5900,
  241.                     0xaaaa,0xaaaa,0xa900,
  242.                     0x3f55,0x5555,0x5500,
  243.                     0x0dff,0xffff,0xff00,
  244.  
  245.                     0x0000,0x0000,0x0100,
  246.                     0x0dff,0xffff,0xff00,
  247.                     0x05ff,0xffff,0xff00,
  248.                     0x0d80,0x0000,0x0700,
  249.                     0x05ff,0xffff,0xff00,
  250.                     0x0dff,0xffff,0xff00,
  251.                     0x05ff,0xffff,0xff00,
  252.                     0x0dc0,0x0780,0x3f00,
  253.                     0x05f3,0xe7e7,0x9f00,
  254.                     0x1df3,0xf3e7,0xcf00,
  255.                     0x65f3,0xffe7,0xcf00,
  256.                     0x8df3,0x9fe7,0xcf00,
  257.                     0x05f3,0x9fe7,0x9f00,
  258.                     0x0df0,0x1fe0,0x3f00,
  259.                     0x05f3,0x9fe7,0x9f00,
  260.                     0x1df3,0x9fe7,0xcf00,
  261.                     0x65f3,0xffe7,0xcf00,
  262.                     0x8df3,0xf3e7,0xcf00,
  263.                     0x05f3,0xe7e7,0x9f00,
  264.                     0x0dc0,0x0780,0x3f00,
  265.                     0x05ff,0xffff,0xff00,
  266.                     0x0dff,0xffff,0xff00,
  267.                     0x05ff,0xffff,0xff00,
  268.                     0x0dff,0xffff,0xff00,
  269.                     0x0580,0x0000,0x0700,
  270.                     0x0dff,0xffff,0xff00,
  271.                     0x05ff,0xffff,0xff00,
  272.                     0x0dff,0xffff,0xff00,
  273.                     0x05ff,0xffff,0xff00,
  274.                     0x0dff,0xffff,0xff00,
  275.                     0x05ff,0xffff,0xff00,
  276.                     0x0dff,0xffff,0xff00,
  277.                     0x05ff,0xffff,0xff00,
  278.                     0x0dff,0xffff,0xff00,
  279.                     0x3dff,0xffff,0xff00,
  280.                     0x7fff,0xffff,0xff00,
  281.                     0x7fff,0xffff,0xff00,
  282.                     0x7fff,0xffff,0xff00,
  283.                     0x7fff,0xffff,0xff00,
  284.                     0x7fff,0xffff,0xff00,
  285.                     0x7fff,0xffff,0xff00,
  286.                     0x7fff,0xffff,0xff00,
  287.                     0x3fff,0xffff,0xff00,
  288.  
  289.                     0x0000,0x0000,0x0000,
  290.                     0x0000,0x0000,0x0000,
  291.                     0x0000,0x0000,0x0000,
  292.                     0x0000,0x0000,0x0000,
  293.                     0x0000,0x0000,0x0000,
  294.                     0x0000,0x0000,0x0000,
  295.                     0x0000,0x0000,0x0000,
  296.                     0x0000,0x0000,0x0000,
  297.                     0x0000,0x0000,0x0000,
  298.                     0x0000,0x0000,0x0000,
  299.                     0x0000,0x0000,0x0000,
  300.                     0x0000,0x0000,0x0000,
  301.                     0x0000,0x0000,0x0000,
  302.                     0x0000,0x0000,0x0000,
  303.                     0x0000,0x0000,0x0000,
  304.                     0x0000,0x0000,0x0000,
  305.                     0x0000,0x0000,0x0000,
  306.                     0x0000,0x0000,0x0000,
  307.                     0x0000,0x0000,0x0000,
  308.                     0x0000,0x0000,0x0000,
  309.                     0x0000,0x0000,0x0000,
  310.                     0x0000,0x0000,0x0000,
  311.                     0x0000,0x0000,0x0000,
  312.                     0x0000,0x0000,0x0000,
  313.                     0x0000,0x0000,0x0000,
  314.                     0x0000,0x0000,0x0000,
  315.                     0x0000,0x0000,0x0000,
  316.                     0x0000,0x0000,0x0000,
  317.                     0x0000,0x0000,0x0000,
  318.                     0x0000,0x0000,0x0000,
  319.                     0x0000,0x0000,0x0000,
  320.                     0x0000,0x0000,0x0000,
  321.                     0x0000,0x0000,0x0000,
  322.                     0x0000,0x0000,0x0000,
  323.                     0x0000,0x0000,0x0000,
  324.                     0x0000,0x0000,0x0000,
  325.                     0x0000,0x0000,0x0000,
  326.                     0x0000,0x0000,0x0000,
  327.                     0x0000,0x0000,0x0000,
  328.                     0x0000,0x0000,0x0000,
  329.                     0x0000,0x0000,0x0000,
  330.                     0x0000,0x0000,0x0000,
  331.                     0x0000,0x0000,0x0000,
  332.  
  333.                     0x1fff,0xffff,0xffff,
  334.                     0x7fff,0xffff,0xffff,
  335.                     0xffff,0xffff,0xffff,
  336.                     0xffff,0xffff,0xffff,
  337.                     0xffff,0xffff,0xffff,
  338.                     0xffff,0xffff,0xffff,
  339.                     0xffff,0xffff,0xffff,
  340.                     0xffff,0xffff,0xffff,
  341.                     0xffff,0xffff,0xffff,
  342.                     0xffff,0xffff,0xffff,
  343.                     0xffff,0xffff,0xffff,
  344.                     0xffff,0xffff,0xffff,
  345.                     0xffff,0xffff,0xffff,
  346.                     0xffff,0xffff,0xffff,
  347.                     0xffff,0xffff,0xffff,
  348.                     0xffff,0xffff,0xffff,
  349.                     0xffff,0xffff,0xffff,
  350.                     0xffff,0xffff,0xffff,
  351.                     0xffff,0xffff,0xffff,
  352.                     0xffff,0xffff,0xffff,
  353.                     0xffff,0xffff,0xffff,
  354.                     0xffff,0xffff,0xffff,
  355.                     0xffff,0xffff,0xffff,
  356.                     0xffff,0xffff,0xffff,
  357.                     0xffff,0xffff,0xffff,
  358.                     0xffff,0xffff,0xffff,
  359.                     0xffff,0xffff,0xffff,
  360.                     0xffff,0xffff,0xffff,
  361.                     0xffff,0xffff,0xffff,
  362.                     0xffff,0xffff,0xffff,
  363.                     0xffff,0xffff,0xffff,
  364.                     0xffff,0xffff,0xffff,
  365.                     0xffff,0xffff,0xffff,
  366.                     0xffff,0xffff,0xffff,
  367.                     0xffff,0xffff,0xffff,
  368.                     0xffff,0xffff,0xffff,
  369.                     0xffff,0xffff,0xffff,
  370.                     0xffff,0xffff,0xffff,
  371.                     0xffff,0xffff,0xffff,
  372.                     0xffff,0xffff,0xffff,
  373.                     0xffff,0xffff,0xffff,
  374.                     0x7fff,0xffff,0xffff,
  375.                     0x3fff,0xffff,0xffff,
  376.  
  377. };
  378.  
  379. /* アイコン化のコマンドラインオプション文字列 */
  380. remote char iconOption[3] = "-I";
  381.  
  382. /*
  383.  * コマンドライン記録
  384.  */
  385. void SaveComLine()
  386. {
  387.     extern char address[200];
  388.     extern char fname[ 100 ];
  389.     extern char a_key;
  390.     extern char r_key;
  391.     extern char e_key;
  392. /*    extern m_control_t zenkaku; */
  393.     char str[300];
  394.     str[0] = '\0';
  395.     if (isInIcon())    /* アイコン化しているならば */
  396.         SaveComLineIcon(str);    /* アイコン化している文字列を作成 */
  397.     if ( a_key == 1 ) {
  398.         strcat(str, " -A");
  399.     }
  400.     if ( r_key == 1 ) {
  401.         strcat(str, " -R");
  402.     }
  403.     if ( e_key == 1 ) {
  404.         strcat(str, " -E");
  405.     }
  406.  
  407.     if (address[0]) {
  408.         strcat(str, " -S");
  409.         strcat(str, address);
  410.     }
  411.     if (fname[0]) {
  412.         strcat(str, " -f");
  413.         strcat(str, fname);
  414.     }
  415.  
  416.     ULSetCommandLine(str);
  417. }
  418.  
  419. /*
  420.  * 関数宣言
  421.  */
  422. char iconStr[] = {
  423.     "^Hこのプログラムは..,"
  424.     "~,"
  425.     "^Wウインドウ化,"
  426.     "~,"
  427.     "^Q終了"
  428. };
  429. m_menu_t
  430.     menuIcon = {{0, -20, 1024, 1024}, 0b0001, "\@電子ブック検索", (long) iconStr};
  431.  
  432. /*
  433.  * アイコン用コールバック
  434.  */
  435. int IconProc(order_t ord)
  436. {
  437.     if (ord.ev == EV_SAVE)
  438.         SaveComLine();
  439.     return 0;
  440. }
  441. /*
  442.  * アイコン用メニュー用コールバック
  443.  */
  444. int IconMenuProc(int no)
  445. {
  446.     void WhoAmI(void);
  447.     switch (no) {
  448.       case 1:
  449.         ULWhoAmI(WhoAmI);
  450.         break;
  451.       case 3:
  452.         return ICN_WINDOW;
  453.       case 5:
  454.         return ICN_CLOSE;
  455.     }
  456.     return 0;
  457. }
  458. iconproc_t
  459.     icon = {NULL, &menuIcon, -1,
  460.         (int (*)(int)) IconProc, IconMenuProc, "\@電子ブック検索"};
  461.  
  462. /*
  463.  * アイコン化をまとめた物
  464.  * -1で終了が選択されたとする
  465.  */
  466. int MyIconify()
  467. {
  468.     extern window_t mainWin;
  469.     int ret = 0;
  470.     rectImg **aimg, **iimg;
  471.     aimg = (rectImg **) ULPointerToHandle(NULL, imgAct, sizeof(imgAct), false);
  472.     iimg = (rectImg **) ULPointerToHandle(NULL, imgInact, sizeof(imgInact), false);
  473.     if (aimg && iimg) {
  474.         icon.img = aimg;
  475.         ret = Iconify(&icon, iimg);
  476.         switch (ret) {
  477.           case ICN_CLOSE:
  478.             ret = -1;
  479.             break;
  480.           case ICN_WINDOW:
  481.             ret = 0;
  482.             SelectWindow(&mainWin);
  483.             break;
  484.         }
  485.     } else
  486.         QueryError(1, "アイコン化のための\0メモリが足りません\0\0" , (proc_t) EventForQE, &mainWin, &rectQE);
  487.  
  488.     _ULFREEH((handle) aimg);
  489.     _ULFREEH((handle) iimg);
  490.     return ret;
  491. }
  492.